package com.mostka.serializer.java;

import com.mostka.serializer.java.Serializer.BadPrimitiveTypeException;

public interface SerializerInt {

	public static final byte OBJECT     = 0x18;
	public static final byte OBJECT_ARR = 0x19;
    public static final byte THROWS     = 0x30 ;

	public abstract void writeByte(byte[] bs);

	public abstract void writeByte(byte b);

	public abstract void writeValue(byte b);

	public abstract void writeValue(byte[] b);

	public abstract void writeValue(short value);

	public abstract void writeValue(short[] value);

	public abstract void writeValue(int value);

	public abstract void writeValue(int[] value);

	public abstract void writeValue(long value);

	public abstract void writeValue(long[] value);

	public abstract void writeValue(float f, boolean makker);

	public abstract void writeValue(float[] value);

	public abstract void writeValue(double value);

	public abstract void writeValue(double[] value);

	public abstract void writeValue(boolean value);

	public abstract void writeValue(boolean[] value);

	public abstract void writeValue(char value, boolean makker);

	public abstract void writeValue(char[] value);

	public abstract void writeValue(String value);

	public abstract void writeValue(String[] value);

	public abstract String getBuffer();

	public abstract byte[] getByteBuffer();

	public abstract byte readByte();

	public abstract void checkType(byte type) throws BadPrimitiveTypeException;

	public abstract byte[] readByteArr() throws BadPrimitiveTypeException;

	public abstract short readShort() throws BadPrimitiveTypeException;

	public abstract short[] readShortArr() throws BadPrimitiveTypeException;

	public abstract int readInteger() throws BadPrimitiveTypeException;

	public abstract int[] readIntegerArr() throws BadPrimitiveTypeException;

	public abstract long readLong() throws BadPrimitiveTypeException;

	public abstract long[] readLongArr() throws BadPrimitiveTypeException;

	public abstract float readFloat() throws BadPrimitiveTypeException;

	public abstract float[] readFloatArr() throws BadPrimitiveTypeException;

	public abstract double readDouble() throws BadPrimitiveTypeException;

	public abstract double[] readDoubleArr() throws BadPrimitiveTypeException;

	public abstract boolean readBoolean() throws BadPrimitiveTypeException;

	public abstract boolean[] readBooleanArr() throws BadPrimitiveTypeException;

	public abstract char readChar() throws BadPrimitiveTypeException;

	public abstract char[] readCharArr() throws BadPrimitiveTypeException;

	public abstract String readString() throws BadPrimitiveTypeException;

	public abstract String[] readStringArr() throws BadPrimitiveTypeException;

}